<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<title>module Socket::Constants - socket: Ruby Standard Library Documentation</title>


<script src="../js/navigation.js" defer></script>
<script src="../js/search.js" defer></script>
<script src="../js/search_index.js" defer></script>
<script src="../js/searcher.js" defer></script>
<script src="../js/darkfish.js" defer></script>

<script src="../js/jquery-3.2.0.min.js"></script>

<script src="../js/vue.min.js"></script>
<script src="../js/js.cookie.min.js"></script>

<link href="../css/fonts.css" rel="stylesheet">
<link id='rdoccss' href="../css/rdoc.css" rel="stylesheet">
<link href="../css/carbon17.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "../";
  var index_rel_prefix = "../";
  var darkModeCsseHref = "../css/rdoc-dm.css"
  var defaultModeCssHref = "../css/rdoc.css"
  // var cssDarkmode = Cookies.get('darkmode');
  
  if( Cookies.get("darkmode") == "true") {
	$('#rdoccss').attr("href", darkModeCsseHref);
}

//  https://cssdeck.com/blog/simple-jquery-stylesheet-switcher/

document.write('<style type="text/css">body{display:none}</style>');

</script>


</head>
<body id="top" role="document" class="module">
  <!-- this is class.html -->

  <div id='actionbar' >
    <div class='wrapper mdiv'>
      <ul class='grids g0'></ul>
    </div> 
    <!-- VERSION HEADER for 3.3.0.preview2 NOT FOUND -->
  </div> <!-- end action bar -->

  <div class='wrapper hdiv'>

    


    <nav id='vapp' role="navigation">
    <div id="project-navigation">
      <div id="home-section" role="region" title="Quick navigation" class="nav-section">
  <h2><a href="../index.html" rel="home">Home</a></h2>

  <div id="table-of-contents-navigation"  >
    <a href="../table_of_contents.html#pages">Pages</a>
    <a href="../table_of_contents.html#classes">Classes</a>
    <a href="../table_of_contents.html#methods">Methods</a>
  </div>
</div>

      <div id="search-section" role="search" class="project-section initially-hidden">
  <form action="#" method="get" accept-charset="utf-8">
    <div id="search-field-wrapper">
      <input id="search-field" role="combobox" aria-label="Search"
             aria-autocomplete="list" aria-controls="search-results"
             type="text" name="search" placeholder="Search" spellcheck="false"
             title="Type to search, Up and Down to navigate, Enter to load">
    </div>

    <ul id="search-results" aria-label="Search Results"
        aria-busy="false" aria-expanded="false"
        aria-atomic="false" class="initially-hidden"></ul>
  </form>
</div>

    </div>


    

    <button id='toggleThing' @click="toggleNav()" >Show/hide navigation</button>
    <div :class="isOpen ? 'block' : 'hidden' " id='toggleMe'>
      <div id="class-metadata">
        
        
        
        
        
      </div>
     </div>
    </nav>


    <div id='extraz'><div class='adzbox-index'  >
      
     </div>         
    </div>

    <main role="main" aria-labelledby="module-Socket::Constants">
    <h1 id="module-Socket::Constants" class="module">
      module Socket::Constants
    </h1>

    <section class="description">
    
<p><a href="Constants.html"><code>Socket::Constants</code></a> provides socket-related constants.  All possible socket constants are listed in the documentation but they may not all be present on your platform.</p>

<p>If the underlying platform doesn’t define a constant the corresponding Ruby constant is not defined.</p>

    </section>

      <section id="5Buntitled-5D" class="documentation-section">


      <section class="constants-list">
      <header>
      <h3>Constants</h3>
      </header>
      <dl>
          <dt id="AF_ALG">AF_ALG
          <dd><p>Interface to kernel crypto API</p>
          <dt id="AF_APPLETALK">AF_APPLETALK
          <dd><p>AppleTalk protocol</p>
          <dt id="AF_ATM">AF_ATM
          <dd><p>Asynchronous Transfer Mode</p>
          <dt id="AF_AX25">AF_AX25
          <dd><p>AX.25 protocol</p>
          <dt id="AF_BLUETOOTH">AF_BLUETOOTH
          <dd><p>Bluetooth low-level socket protocol</p>
          <dt id="AF_CAN">AF_CAN
          <dd><p>Controller Area Network automotive bus protocol</p>
          <dt id="AF_CCITT">AF_CCITT
          <dd><p>CCITT (now ITU-T) protocols</p>
          <dt id="AF_CHAOS">AF_CHAOS
          <dd><p>MIT CHAOS protocols</p>
          <dt id="AF_CNT">AF_CNT
          <dd><p>Computer Network Technology</p>
          <dt id="AF_COIP">AF_COIP
          <dd><p>Connection-oriented IP</p>
          <dt id="AF_DATAKIT">AF_DATAKIT
          <dd><p>Datakit protocol</p>
          <dt id="AF_DEC">AF_DEC
          <dd><p>DECnet protocol</p>
          <dt id="AF_DECnet">AF_DECnet
          <dd><p>DECnet protocol</p>
          <dt id="AF_DLI">AF_DLI
          <dd><p>DEC Direct Data Link Interface protocol</p>
          <dt id="AF_E164">AF_E164
          <dd><p>CCITT (ITU-T) E.164 recommendation</p>
          <dt id="AF_ECMA">AF_ECMA
          <dd><p>European Computer Manufacturers protocols</p>
          <dt id="AF_HYLINK">AF_HYLINK
          <dd><p>NSC Hyperchannel protocol</p>
          <dt id="AF_IB">AF_IB
          <dd><p>InfiniBand native addressing</p>
          <dt id="AF_IMPLINK">AF_IMPLINK
          <dd><p>ARPANET IMP protocol</p>
          <dt id="AF_INET">AF_INET
          <dd><p>IPv4 protocol</p>
          <dt id="AF_INET6">AF_INET6
          <dd><p>IPv6 protocol</p>
          <dt id="AF_IPX">AF_IPX
          <dd><p>IPX protocol</p>
          <dt id="AF_ISDN">AF_ISDN
          <dd><p>Integrated Services Digital Network</p>
          <dt id="AF_ISO">AF_ISO
          <dd><p>ISO Open Systems Interconnection protocols</p>
          <dt id="AF_KCM">AF_KCM
          <dd><p>KCM (kernel connection multiplexor) interface</p>
          <dt id="AF_KEY">AF_KEY
          <dd><p>Key management protocol, originally developed for usage with IPsec</p>
          <dt id="AF_LAT">AF_LAT
          <dd><p>Local Area Transport protocol</p>
          <dt id="AF_LINK">AF_LINK
          <dd><p>Link layer interface</p>
          <dt id="AF_LLC">AF_LLC
          <dd><p>Logical  link control (IEEE 802.2 LLC) protocol</p>
          <dt id="AF_LOCAL">AF_LOCAL
          <dd><p>Host-internal protocols</p>
          <dt id="AF_MAX">AF_MAX
          <dd><p>Maximum address family for this platform</p>
          <dt id="AF_MPLS">AF_MPLS
          <dd><p>Multiprotocol Label Switching</p>
          <dt id="AF_NATM">AF_NATM
          <dd><p>Native ATM access</p>
          <dt id="AF_NDRV">AF_NDRV
          <dd><p>Network driver raw access</p>
          <dt id="AF_NETBIOS">AF_NETBIOS
          <dd><p>NetBIOS</p>
          <dt id="AF_NETGRAPH">AF_NETGRAPH
          <dd><p>Netgraph sockets</p>
          <dt id="AF_NETLINK">AF_NETLINK
          <dd><p>Kernel user interface device</p>
          <dt id="AF_NS">AF_NS
          <dd><p>XEROX NS protocols</p>
          <dt id="AF_OSI">AF_OSI
          <dd><p>ISO Open Systems Interconnection protocols</p>
          <dt id="AF_PACKET">AF_PACKET
          <dd><p>Direct link-layer access</p>
          <dt id="AF_PPP">AF_PPP
          <dd><p>Point-to-Point Protocol</p>
          <dt id="AF_PPPOX">AF_PPPOX
          <dd><p>Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)</p>
          <dt id="AF_PUP">AF_PUP
          <dd><p>PARC Universal Packet protocol</p>
          <dt id="AF_RDS">AF_RDS
          <dd><p>Reliable Datagram Sockets (RDS) protocol</p>
          <dt id="AF_ROUTE">AF_ROUTE
          <dd><p>Internal routing protocol</p>
          <dt id="AF_SIP">AF_SIP
          <dd><p>Simple Internet Protocol</p>
          <dt id="AF_SNA">AF_SNA
          <dd><p>IBM SNA protocol</p>
          <dt id="AF_SYSTEM">AF_SYSTEM
          <dd>
          <dt id="AF_TIPC">AF_TIPC
          <dd><p>TIPC, “cluster domain sockets” protocol</p>
          <dt id="AF_UNIX">AF_UNIX
          <dd><p>UNIX sockets</p>
          <dt id="AF_UNSPEC">AF_UNSPEC
          <dd><p>Unspecified protocol, any supported address family</p>
          <dt id="AF_VSOCK">AF_VSOCK
          <dd><p>VSOCK (originally “VMWare VSockets”) protocol for hypervisor-guest communication</p>
          <dt id="AF_XDP">AF_XDP
          <dd><p>XDP (express data path) interface</p>
          <dt id="AI_ADDRCONFIG">AI_ADDRCONFIG
          <dd><p>Accept only if any address is assigned</p>
          <dt id="AI_ALL">AI_ALL
          <dd><p>Allow all addresses</p>
          <dt id="AI_CANONNAME">AI_CANONNAME
          <dd><p>Fill in the canonical name</p>
          <dt id="AI_DEFAULT">AI_DEFAULT
          <dd><p>Default flags for getaddrinfo</p>
          <dt id="AI_MASK">AI_MASK
          <dd><p>Valid flag mask for getaddrinfo (not for application use)</p>
          <dt id="AI_NUMERICHOST">AI_NUMERICHOST
          <dd><p>Prevent host name resolution</p>
          <dt id="AI_NUMERICSERV">AI_NUMERICSERV
          <dd><p>Prevent service name resolution</p>
          <dt id="AI_PASSIVE">AI_PASSIVE
          <dd><p>Get address to use with bind()</p>
          <dt id="AI_V4MAPPED">AI_V4MAPPED
          <dd><p>Accept IPv4-mapped IPv6 addresses</p>
          <dt id="AI_V4MAPPED_CFG">AI_V4MAPPED_CFG
          <dd><p>Accept IPv4 mapped addresses if the kernel supports it</p>
          <dt id="EAI_ADDRFAMILY">EAI_ADDRFAMILY
          <dd><p>Address family for hostname not supported</p>
          <dt id="EAI_AGAIN">EAI_AGAIN
          <dd><p>Temporary failure in name resolution</p>
          <dt id="EAI_BADFLAGS">EAI_BADFLAGS
          <dd><p>Invalid flags</p>
          <dt id="EAI_BADHINTS">EAI_BADHINTS
          <dd><p>Invalid value for hints</p>
          <dt id="EAI_FAIL">EAI_FAIL
          <dd><p>Non-recoverable failure in name resolution</p>
          <dt id="EAI_FAMILY">EAI_FAMILY
          <dd><p>Address family not supported</p>
          <dt id="EAI_MAX">EAI_MAX
          <dd><p>Maximum error code from getaddrinfo</p>
          <dt id="EAI_MEMORY">EAI_MEMORY
          <dd><p>Memory allocation failure</p>
          <dt id="EAI_NODATA">EAI_NODATA
          <dd><p>No address associated with hostname</p>
          <dt id="EAI_NONAME">EAI_NONAME
          <dd><p>Hostname nor servname, or not known</p>
          <dt id="EAI_OVERFLOW">EAI_OVERFLOW
          <dd><p>Argument buffer overflow</p>
          <dt id="EAI_PROTOCOL">EAI_PROTOCOL
          <dd><p>Resolved protocol is unknown</p>
          <dt id="EAI_SERVICE">EAI_SERVICE
          <dd><p>Servname not supported for socket type</p>
          <dt id="EAI_SOCKTYPE">EAI_SOCKTYPE
          <dd><p><a href="../Socket.html"><code>Socket</code></a> type not supported</p>
          <dt id="EAI_SYSTEM">EAI_SYSTEM
          <dd><p>System error returned in errno</p>
          <dt id="IFF_802_1Q_VLAN">IFF_802_1Q_VLAN
          <dd><p>802.1Q VLAN device</p>
          <dt id="IFF_ALLMULTI">IFF_ALLMULTI
          <dd><p>receive all multicast packets</p>
          <dt id="IFF_ALTPHYS">IFF_ALTPHYS
          <dd><p>use alternate physical connection</p>
          <dt id="IFF_AUTOMEDIA">IFF_AUTOMEDIA
          <dd><p>auto media select active</p>
          <dt id="IFF_BONDING">IFF_BONDING
          <dd><p>bonding master or slave</p>
          <dt id="IFF_BRIDGE_PORT">IFF_BRIDGE_PORT
          <dd><p>device used as bridge port</p>
          <dt id="IFF_BROADCAST">IFF_BROADCAST
          <dd><p>broadcast address valid</p>
          <dt id="IFF_CANTCHANGE">IFF_CANTCHANGE
          <dd><p>flags not changeable</p>
          <dt id="IFF_CANTCONFIG">IFF_CANTCONFIG
          <dd><p>unconfigurable using ioctl(2)</p>
          <dt id="IFF_DEBUG">IFF_DEBUG
          <dd><p>turn on debugging</p>
          <dt id="IFF_DISABLE_NETPOLL">IFF_DISABLE_NETPOLL
          <dd><p>disable netpoll at run-time</p>
          <dt id="IFF_DONT_BRIDGE">IFF_DONT_BRIDGE
          <dd><p>disallow bridging this ether dev</p>
          <dt id="IFF_DORMANT">IFF_DORMANT
          <dd><p>driver signals dormant</p>
          <dt id="IFF_DRV_OACTIVE">IFF_DRV_OACTIVE
          <dd><p>tx hardware queue is full</p>
          <dt id="IFF_DRV_RUNNING">IFF_DRV_RUNNING
          <dd><p>resources allocated</p>
          <dt id="IFF_DYING">IFF_DYING
          <dd><p>interface is winding down</p>
          <dt id="IFF_DYNAMIC">IFF_DYNAMIC
          <dd><p>dialup device with changing addresses</p>
          <dt id="IFF_EBRIDGE">IFF_EBRIDGE
          <dd><p>ethernet bridging device</p>
          <dt id="IFF_ECHO">IFF_ECHO
          <dd><p>echo sent packets</p>
          <dt id="IFF_ISATAP">IFF_ISATAP
          <dd><p>ISATAP interface (RFC4214)</p>
          <dt id="IFF_LINK0">IFF_LINK0
          <dd><p>per link layer defined bit 0</p>
          <dt id="IFF_LINK1">IFF_LINK1
          <dd><p>per link layer defined bit 1</p>
          <dt id="IFF_LINK2">IFF_LINK2
          <dd><p>per link layer defined bit 2</p>
          <dt id="IFF_LIVE_ADDR_CHANGE">IFF_LIVE_ADDR_CHANGE
          <dd><p>hardware address change when it’s running</p>
          <dt id="IFF_LOOPBACK">IFF_LOOPBACK
          <dd><p>loopback net</p>
          <dt id="IFF_LOWER_UP">IFF_LOWER_UP
          <dd><p>driver signals L1 up</p>
          <dt id="IFF_MACVLAN_PORT">IFF_MACVLAN_PORT
          <dd><p>device used as macvlan port</p>
          <dt id="IFF_MASTER">IFF_MASTER
          <dd><p>master of a load balancer</p>
          <dt id="IFF_MASTER_8023AD">IFF_MASTER_8023AD
          <dd><p>bonding master, 802.3ad.</p>
          <dt id="IFF_MASTER_ALB">IFF_MASTER_ALB
          <dd><p>bonding master, balance-alb.</p>
          <dt id="IFF_MASTER_ARPMON">IFF_MASTER_ARPMON
          <dd><p>bonding master, ARP mon in use</p>
          <dt id="IFF_MONITOR">IFF_MONITOR
          <dd><p>user-requested monitor mode</p>
          <dt id="IFF_MULTICAST">IFF_MULTICAST
          <dd><p>supports multicast</p>
          <dt id="IFF_NOARP">IFF_NOARP
          <dd><p>no address resolution protocol</p>
          <dt id="IFF_NOTRAILERS">IFF_NOTRAILERS
          <dd><p>avoid use of trailers</p>
          <dt id="IFF_OACTIVE">IFF_OACTIVE
          <dd><p>transmission in progress</p>
          <dt id="IFF_OVS_DATAPATH">IFF_OVS_DATAPATH
          <dd><p>device used as Open vSwitch datapath port</p>
          <dt id="IFF_POINTOPOINT">IFF_POINTOPOINT
          <dd><p>point-to-point link</p>
          <dt id="IFF_PORTSEL">IFF_PORTSEL
          <dd><p>can set media type</p>
          <dt id="IFF_PPROMISC">IFF_PPROMISC
          <dd><p>user-requested promisc mode</p>
          <dt id="IFF_PROMISC">IFF_PROMISC
          <dd><p>receive all packets</p>
          <dt id="IFF_RENAMING">IFF_RENAMING
          <dd><p>interface is being renamed</p>
          <dt id="IFF_ROUTE">IFF_ROUTE
          <dd><p>routing entry installed</p>
          <dt id="IFF_RUNNING">IFF_RUNNING
          <dd><p>resources allocated</p>
          <dt id="IFF_SIMPLEX">IFF_SIMPLEX
          <dd><p>can’t hear own transmissions</p>
          <dt id="IFF_SLAVE">IFF_SLAVE
          <dd><p>slave of a load balancer</p>
          <dt id="IFF_SLAVE_INACTIVE">IFF_SLAVE_INACTIVE
          <dd><p>bonding slave not the curr. active</p>
          <dt id="IFF_SLAVE_NEEDARP">IFF_SLAVE_NEEDARP
          <dd><p>need ARPs for validation</p>
          <dt id="IFF_SMART">IFF_SMART
          <dd><p>interface manages own routes</p>
          <dt id="IFF_STATICARP">IFF_STATICARP
          <dd><p>static ARP</p>
          <dt id="IFF_SUPP_NOFCS">IFF_SUPP_NOFCS
          <dd><p>sending custom FCS</p>
          <dt id="IFF_TEAM_PORT">IFF_TEAM_PORT
          <dd><p>used as team port</p>
          <dt id="IFF_TX_SKB_SHARING">IFF_TX_SKB_SHARING
          <dd><p>sharing skbs on transmit</p>
          <dt id="IFF_UNICAST_FLT">IFF_UNICAST_FLT
          <dd><p>unicast filtering</p>
          <dt id="IFF_UP">IFF_UP
          <dd><p>interface is up</p>
          <dt id="IFF_VOLATILE">IFF_VOLATILE
          <dd><p>volatile flags</p>
          <dt id="IFF_WAN_HDLC">IFF_WAN_HDLC
          <dd><p>WAN HDLC device</p>
          <dt id="IFF_XMIT_DST_RELEASE">IFF_XMIT_DST_RELEASE
          <dd><p>dev_hard_start_xmit() is allowed to release skb-&gt;dst</p>
          <dt id="IFNAMSIZ">IFNAMSIZ
          <dd><p>Maximum interface name size</p>
          <dt id="IF_NAMESIZE">IF_NAMESIZE
          <dd><p>Maximum interface name size</p>
          <dt id="INADDR_ALLHOSTS_GROUP">INADDR_ALLHOSTS_GROUP
          <dd><p>Multicast group for all systems on this subset</p>
          <dt id="INADDR_ANY">INADDR_ANY
          <dd><p>A socket bound to <a href="Constants.html#INADDR_ANY"><code>INADDR_ANY</code></a> receives packets from all interfaces and sends from the default IP address</p>
          <dt id="INADDR_BROADCAST">INADDR_BROADCAST
          <dd><p>The network broadcast address</p>
          <dt id="INADDR_LOOPBACK">INADDR_LOOPBACK
          <dd><p>The loopback address</p>
          <dt id="INADDR_MAX_LOCAL_GROUP">INADDR_MAX_LOCAL_GROUP
          <dd><p>The last local network multicast group</p>
          <dt id="INADDR_NONE">INADDR_NONE
          <dd><p>A bitmask for matching no valid IP address</p>
          <dt id="INADDR_UNSPEC_GROUP">INADDR_UNSPEC_GROUP
          <dd><p>The reserved multicast group</p>
          <dt id="INET6_ADDRSTRLEN">INET6_ADDRSTRLEN
          <dd><p>Maximum length of an IPv6 address string</p>
          <dt id="INET_ADDRSTRLEN">INET_ADDRSTRLEN
          <dd><p>Maximum length of an IPv4 address string</p>
          <dt id="IPPORT_RESERVED">IPPORT_RESERVED
          <dd><p>Default minimum address for bind or connect</p>
          <dt id="IPPORT_USERRESERVED">IPPORT_USERRESERVED
          <dd><p>Default maximum address for bind or connect</p>
          <dt id="IPPROTO_AH">IPPROTO_AH
          <dd><p>IP6 auth header</p>
          <dt id="IPPROTO_BIP">IPPROTO_BIP
          <dd>
          <dt id="IPPROTO_DSTOPTS">IPPROTO_DSTOPTS
          <dd><p>IP6 destination option</p>
          <dt id="IPPROTO_EGP">IPPROTO_EGP
          <dd><p>Exterior Gateway Protocol</p>
          <dt id="IPPROTO_EON">IPPROTO_EON
          <dd><p>ISO cnlp</p>
          <dt id="IPPROTO_ESP">IPPROTO_ESP
          <dd><p>IP6 Encapsulated Security Payload</p>
          <dt id="IPPROTO_FRAGMENT">IPPROTO_FRAGMENT
          <dd><p>IP6 fragmentation header</p>
          <dt id="IPPROTO_GGP">IPPROTO_GGP
          <dd><p>Gateway to Gateway Protocol</p>
          <dt id="IPPROTO_HELLO">IPPROTO_HELLO
          <dd><p>“hello” routing protocol</p>
          <dt id="IPPROTO_HOPOPTS">IPPROTO_HOPOPTS
          <dd><p>IP6 hop-by-hop options</p>
          <dt id="IPPROTO_ICMP">IPPROTO_ICMP
          <dd><p>Control message protocol</p>
          <dt id="IPPROTO_ICMPV6">IPPROTO_ICMPV6
          <dd><p>ICMP6</p>
          <dt id="IPPROTO_IDP">IPPROTO_IDP
          <dd><p>XNS IDP</p>
          <dt id="IPPROTO_IGMP">IPPROTO_IGMP
          <dd><p>Group Management Protocol</p>
          <dt id="IPPROTO_IP">IPPROTO_IP
          <dd><p>Dummy protocol for IP</p>
          <dt id="IPPROTO_IPV6">IPPROTO_IPV6
          <dd><p>IP6 header</p>
          <dt id="IPPROTO_MAX">IPPROTO_MAX
          <dd><p>Maximum IPPROTO constant</p>
          <dt id="IPPROTO_ND">IPPROTO_ND
          <dd><p>Sun net disk protocol</p>
          <dt id="IPPROTO_NONE">IPPROTO_NONE
          <dd><p>IP6 no next header</p>
          <dt id="IPPROTO_PUP">IPPROTO_PUP
          <dd><p>PARC Universal Packet protocol</p>
          <dt id="IPPROTO_RAW">IPPROTO_RAW
          <dd><p>Raw IP packet</p>
          <dt id="IPPROTO_ROUTING">IPPROTO_ROUTING
          <dd><p>IP6 routing header</p>
          <dt id="IPPROTO_TCP">IPPROTO_TCP
          <dd><p>TCP</p>
          <dt id="IPPROTO_TP">IPPROTO_TP
          <dd><p>ISO transport protocol class 4</p>
          <dt id="IPPROTO_UDP">IPPROTO_UDP
          <dd><p>UDP</p>
          <dt id="IPPROTO_XTP">IPPROTO_XTP
          <dd><p>Xpress Transport Protocol</p>
          <dt id="IPV6_CHECKSUM">IPV6_CHECKSUM
          <dd><p>Checksum offset for raw sockets</p>
          <dt id="IPV6_DONTFRAG">IPV6_DONTFRAG
          <dd><p>Don’t fragment packets</p>
          <dt id="IPV6_DSTOPTS">IPV6_DSTOPTS
          <dd><p>Destination option</p>
          <dt id="IPV6_HOPLIMIT">IPV6_HOPLIMIT
          <dd><p>Hop limit</p>
          <dt id="IPV6_HOPOPTS">IPV6_HOPOPTS
          <dd><p>Hop-by-hop option</p>
          <dt id="IPV6_JOIN_GROUP">IPV6_JOIN_GROUP
          <dd><p>Join a group membership</p>
          <dt id="IPV6_LEAVE_GROUP">IPV6_LEAVE_GROUP
          <dd><p>Leave a group membership</p>
          <dt id="IPV6_MULTICAST_HOPS">IPV6_MULTICAST_HOPS
          <dd><p>IP6 multicast hops</p>
          <dt id="IPV6_MULTICAST_IF">IPV6_MULTICAST_IF
          <dd><p>IP6 multicast interface</p>
          <dt id="IPV6_MULTICAST_LOOP">IPV6_MULTICAST_LOOP
          <dd><p>IP6 multicast loopback</p>
          <dt id="IPV6_NEXTHOP">IPV6_NEXTHOP
          <dd><p>Next hop address</p>
          <dt id="IPV6_PATHMTU">IPV6_PATHMTU
          <dd><p>Retrieve current path MTU</p>
          <dt id="IPV6_PKTINFO">IPV6_PKTINFO
          <dd><p>Receive packet information with datagram</p>
          <dt id="IPV6_RECVDSTOPTS">IPV6_RECVDSTOPTS
          <dd><p>Receive all IP6 options for response</p>
          <dt id="IPV6_RECVHOPLIMIT">IPV6_RECVHOPLIMIT
          <dd><p>Receive hop limit with datagram</p>
          <dt id="IPV6_RECVHOPOPTS">IPV6_RECVHOPOPTS
          <dd><p>Receive hop-by-hop options</p>
          <dt id="IPV6_RECVPATHMTU">IPV6_RECVPATHMTU
          <dd><p>Receive current path MTU with datagram</p>
          <dt id="IPV6_RECVPKTINFO">IPV6_RECVPKTINFO
          <dd><p>Receive destination IP address and incoming interface</p>
          <dt id="IPV6_RECVRTHDR">IPV6_RECVRTHDR
          <dd><p>Receive routing header</p>
          <dt id="IPV6_RECVTCLASS">IPV6_RECVTCLASS
          <dd><p>Receive traffic class</p>
          <dt id="IPV6_RTHDR">IPV6_RTHDR
          <dd><p>Allows removal of sticky routing headers</p>
          <dt id="IPV6_RTHDRDSTOPTS">IPV6_RTHDRDSTOPTS
          <dd><p>Allows removal of sticky destination options header</p>
          <dt id="IPV6_RTHDR_TYPE_0">IPV6_RTHDR_TYPE_0
          <dd><p>Routing header type 0</p>
          <dt id="IPV6_TCLASS">IPV6_TCLASS
          <dd><p>Specify the traffic class</p>
          <dt id="IPV6_UNICAST_HOPS">IPV6_UNICAST_HOPS
          <dd><p>IP6 unicast hops</p>
          <dt id="IPV6_USE_MIN_MTU">IPV6_USE_MIN_MTU
          <dd><p>Use the minimum MTU size</p>
          <dt id="IPV6_V6ONLY">IPV6_V6ONLY
          <dd><p>Only bind IPv6 with a wildcard bind</p>
          <dt id="IPX_TYPE">IPX_TYPE
          <dd>
          <dt id="IP_ADD_MEMBERSHIP">IP_ADD_MEMBERSHIP
          <dd><p>Add a multicast group membership</p>
          <dt id="IP_ADD_SOURCE_MEMBERSHIP">IP_ADD_SOURCE_MEMBERSHIP
          <dd><p>Add a multicast group membership</p>
          <dt id="IP_BLOCK_SOURCE">IP_BLOCK_SOURCE
          <dd><p>Block IPv4 multicast packets with a give source address</p>
          <dt id="IP_DEFAULT_MULTICAST_LOOP">IP_DEFAULT_MULTICAST_LOOP
          <dd><p>Default multicast loopback</p>
          <dt id="IP_DEFAULT_MULTICAST_TTL">IP_DEFAULT_MULTICAST_TTL
          <dd><p>Default multicast TTL</p>
          <dt id="IP_DONTFRAG">IP_DONTFRAG
          <dd><p>Don’t fragment packets</p>
          <dt id="IP_DROP_MEMBERSHIP">IP_DROP_MEMBERSHIP
          <dd><p>Drop a multicast group membership</p>
          <dt id="IP_DROP_SOURCE_MEMBERSHIP">IP_DROP_SOURCE_MEMBERSHIP
          <dd><p>Drop a multicast group membership</p>
          <dt id="IP_FREEBIND">IP_FREEBIND
          <dd><p>Allow binding to nonexistent IP addresses</p>
          <dt id="IP_HDRINCL">IP_HDRINCL
          <dd><p>Header is included with data</p>
          <dt id="IP_IPSEC_POLICY">IP_IPSEC_POLICY
          <dd><p>IPsec security policy</p>
          <dt id="IP_MAX_MEMBERSHIPS">IP_MAX_MEMBERSHIPS
          <dd><p>Maximum number multicast groups a socket can join</p>
          <dt id="IP_MINTTL">IP_MINTTL
          <dd><p>Minimum TTL allowed for received packets</p>
          <dt id="IP_MSFILTER">IP_MSFILTER
          <dd><p>Multicast source filtering</p>
          <dt id="IP_MTU">IP_MTU
          <dd><p>The Maximum Transmission Unit of the socket</p>
          <dt id="IP_MTU_DISCOVER">IP_MTU_DISCOVER
          <dd><p>Path MTU discovery</p>
          <dt id="IP_MULTICAST_IF">IP_MULTICAST_IF
          <dd><p>IP multicast interface</p>
          <dt id="IP_MULTICAST_LOOP">IP_MULTICAST_LOOP
          <dd><p>IP multicast loopback</p>
          <dt id="IP_MULTICAST_TTL">IP_MULTICAST_TTL
          <dd><p>IP multicast TTL</p>
          <dt id="IP_ONESBCAST">IP_ONESBCAST
          <dd><p>Force outgoing broadcast datagrams to have the undirected broadcast address</p>
          <dt id="IP_OPTIONS">IP_OPTIONS
          <dd><p>IP options to be included in packets</p>
          <dt id="IP_PASSSEC">IP_PASSSEC
          <dd><p>Retrieve security context with datagram</p>
          <dt id="IP_PKTINFO">IP_PKTINFO
          <dd><p>Receive packet information with datagrams</p>
          <dt id="IP_PKTOPTIONS">IP_PKTOPTIONS
          <dd><p>Receive packet options with datagrams</p>
          <dt id="IP_PMTUDISC_DO">IP_PMTUDISC_DO
          <dd><p>Always send DF frames</p>
          <dt id="IP_PMTUDISC_DONT">IP_PMTUDISC_DONT
          <dd><p>Never send DF frames</p>
          <dt id="IP_PMTUDISC_WANT">IP_PMTUDISC_WANT
          <dd><p>Use per-route hints</p>
          <dt id="IP_PORTRANGE">IP_PORTRANGE
          <dd><p>Set the port range for sockets with unspecified port numbers</p>
          <dt id="IP_RECVDSTADDR">IP_RECVDSTADDR
          <dd><p>Receive IP destination address with datagram</p>
          <dt id="IP_RECVERR">IP_RECVERR
          <dd><p>Enable extended reliable error message passing</p>
          <dt id="IP_RECVIF">IP_RECVIF
          <dd><p>Receive interface information with datagrams</p>
          <dt id="IP_RECVOPTS">IP_RECVOPTS
          <dd><p>Receive all IP options with datagram</p>
          <dt id="IP_RECVRETOPTS">IP_RECVRETOPTS
          <dd><p>Receive all IP options for response</p>
          <dt id="IP_RECVSLLA">IP_RECVSLLA
          <dd><p>Receive link-layer address with datagrams</p>
          <dt id="IP_RECVTOS">IP_RECVTOS
          <dd><p>Receive TOS with incoming packets</p>
          <dt id="IP_RECVTTL">IP_RECVTTL
          <dd><p>Receive IP TTL with datagrams</p>
          <dt id="IP_RETOPTS">IP_RETOPTS
          <dd><p>IP options to be included in datagrams</p>
          <dt id="IP_ROUTER_ALERT">IP_ROUTER_ALERT
          <dd><p>Notify transit routers to more closely examine the contents of an IP packet</p>
          <dt id="IP_SENDSRCADDR">IP_SENDSRCADDR
          <dd><p>Source address for outgoing UDP datagrams</p>
          <dt id="IP_TOS">IP_TOS
          <dd><p>IP type-of-service</p>
          <dt id="IP_TRANSPARENT">IP_TRANSPARENT
          <dd><p>Transparent proxy</p>
          <dt id="IP_TTL">IP_TTL
          <dd><p>IP time-to-live</p>
          <dt id="IP_UNBLOCK_SOURCE">IP_UNBLOCK_SOURCE
          <dd><p>Unblock IPv4 multicast packets with a give source address</p>
          <dt id="IP_XFRM_POLICY">IP_XFRM_POLICY
          <dd>
          <dt id="LOCAL_CONNWAIT">LOCAL_CONNWAIT
          <dd><p>Connect blocks until accepted</p>
          <dt id="LOCAL_CREDS">LOCAL_CREDS
          <dd><p>Pass credentials to receiver</p>
          <dt id="LOCAL_PEERCRED">LOCAL_PEERCRED
          <dd><p>Retrieve peer credentials</p>
          <dt id="MCAST_BLOCK_SOURCE">MCAST_BLOCK_SOURCE
          <dd><p>Block multicast packets from this source</p>
          <dt id="MCAST_EXCLUDE">MCAST_EXCLUDE
          <dd><p>Exclusive multicast source filter</p>
          <dt id="MCAST_INCLUDE">MCAST_INCLUDE
          <dd><p>Inclusive multicast source filter</p>
          <dt id="MCAST_JOIN_GROUP">MCAST_JOIN_GROUP
          <dd><p>Join a multicast group</p>
          <dt id="MCAST_JOIN_SOURCE_GROUP">MCAST_JOIN_SOURCE_GROUP
          <dd><p>Join a multicast source group</p>
          <dt id="MCAST_LEAVE_GROUP">MCAST_LEAVE_GROUP
          <dd><p>Leave a multicast group</p>
          <dt id="MCAST_LEAVE_SOURCE_GROUP">MCAST_LEAVE_SOURCE_GROUP
          <dd><p>Leave a multicast source group</p>
          <dt id="MCAST_MSFILTER">MCAST_MSFILTER
          <dd><p>Multicast source filtering</p>
          <dt id="MCAST_UNBLOCK_SOURCE">MCAST_UNBLOCK_SOURCE
          <dd><p>Unblock multicast packets from this source</p>
          <dt id="MSG_COMPAT">MSG_COMPAT
          <dd><p>End of record</p>
          <dt id="MSG_CONFIRM">MSG_CONFIRM
          <dd><p>Confirm path validity</p>
          <dt id="MSG_CTRUNC">MSG_CTRUNC
          <dd><p>Control data lost before delivery</p>
          <dt id="MSG_DONTROUTE">MSG_DONTROUTE
          <dd><p>Send without using the routing tables</p>
          <dt id="MSG_DONTWAIT">MSG_DONTWAIT
          <dd><p>This message should be non-blocking</p>
          <dt id="MSG_EOF">MSG_EOF
          <dd><p>Data completes connection</p>
          <dt id="MSG_EOR">MSG_EOR
          <dd><p>Data completes record</p>
          <dt id="MSG_ERRQUEUE">MSG_ERRQUEUE
          <dd><p>Fetch message from error queue</p>
          <dt id="MSG_FASTOPEN">MSG_FASTOPEN
          <dd><p>Reduce step of the handshake process</p>
          <dt id="MSG_FIN">MSG_FIN
          <dd>
          <dt id="MSG_FLUSH">MSG_FLUSH
          <dd><p>Start of a hold sequence.  Dumps to so_temp</p>
          <dt id="MSG_HAVEMORE">MSG_HAVEMORE
          <dd><p>Data ready to be read</p>
          <dt id="MSG_HOLD">MSG_HOLD
          <dd><p>Hold fragment in so_temp</p>
          <dt id="MSG_MORE">MSG_MORE
          <dd><p>Sender will send more</p>
          <dt id="MSG_NOSIGNAL">MSG_NOSIGNAL
          <dd><p>Do not generate SIGPIPE</p>
          <dt id="MSG_OOB">MSG_OOB
          <dd><p>Process out-of-band data</p>
          <dt id="MSG_PEEK">MSG_PEEK
          <dd><p>Peek at incoming message</p>
          <dt id="MSG_PROXY">MSG_PROXY
          <dd><p>Wait for full request</p>
          <dt id="MSG_RCVMORE">MSG_RCVMORE
          <dd><p>Data remains in the current packet</p>
          <dt id="MSG_RST">MSG_RST
          <dd>
          <dt id="MSG_SEND">MSG_SEND
          <dd><p>Send the packet in so_temp</p>
          <dt id="MSG_SYN">MSG_SYN
          <dd>
          <dt id="MSG_TRUNC">MSG_TRUNC
          <dd><p>Data discarded before delivery</p>
          <dt id="MSG_WAITALL">MSG_WAITALL
          <dd><p>Wait for full request or error</p>
          <dt id="NI_DGRAM">NI_DGRAM
          <dd><p>The service specified is a datagram service (looks up UDP ports)</p>
          <dt id="NI_MAXHOST">NI_MAXHOST
          <dd><p>Maximum length of a hostname</p>
          <dt id="NI_MAXSERV">NI_MAXSERV
          <dd><p>Maximum length of a service name</p>
          <dt id="NI_NAMEREQD">NI_NAMEREQD
          <dd><p>A name is required</p>
          <dt id="NI_NOFQDN">NI_NOFQDN
          <dd><p>An FQDN is not required for local hosts, return only the local part</p>
          <dt id="NI_NUMERICHOST">NI_NUMERICHOST
          <dd><p>Return a numeric address</p>
          <dt id="NI_NUMERICSERV">NI_NUMERICSERV
          <dd><p>Return the service name as a digit string</p>
          <dt id="PF_ALG">PF_ALG
          <dd><p>Interface to kernel crypto API</p>
          <dt id="PF_APPLETALK">PF_APPLETALK
          <dd><p>AppleTalk protocol</p>
          <dt id="PF_ATM">PF_ATM
          <dd><p>Asynchronous Transfer Mode</p>
          <dt id="PF_AX25">PF_AX25
          <dd><p>AX.25 protocol</p>
          <dt id="PF_BLUETOOTH">PF_BLUETOOTH
          <dd><p>Bluetooth low-level socket protocol</p>
          <dt id="PF_CAN">PF_CAN
          <dd><p>Controller Area Network automotive bus protocol</p>
          <dt id="PF_CCITT">PF_CCITT
          <dd><p>CCITT (now ITU-T) protocols</p>
          <dt id="PF_CHAOS">PF_CHAOS
          <dd><p>MIT CHAOS protocols</p>
          <dt id="PF_CNT">PF_CNT
          <dd><p>Computer Network Technology</p>
          <dt id="PF_COIP">PF_COIP
          <dd><p>Connection-oriented IP</p>
          <dt id="PF_DATAKIT">PF_DATAKIT
          <dd><p>Datakit protocol</p>
          <dt id="PF_DEC">PF_DEC
          <dd><p>DECnet protocol</p>
          <dt id="PF_DECnet">PF_DECnet
          <dd><p>DECnet protocol</p>
          <dt id="PF_DLI">PF_DLI
          <dd><p>DEC Direct Data Link Interface protocol</p>
          <dt id="PF_ECMA">PF_ECMA
          <dd><p>European Computer Manufacturers protocols</p>
          <dt id="PF_HYLINK">PF_HYLINK
          <dd><p>NSC Hyperchannel protocol</p>
          <dt id="PF_IB">PF_IB
          <dd><p>InfiniBand native addressing</p>
          <dt id="PF_IMPLINK">PF_IMPLINK
          <dd><p>ARPANET IMP protocol</p>
          <dt id="PF_INET">PF_INET
          <dd><p>IPv4 protocol</p>
          <dt id="PF_INET6">PF_INET6
          <dd><p>IPv6 protocol</p>
          <dt id="PF_IPX">PF_IPX
          <dd><p>IPX protocol</p>
          <dt id="PF_ISDN">PF_ISDN
          <dd><p>Integrated Services Digital Network</p>
          <dt id="PF_ISO">PF_ISO
          <dd><p>ISO Open Systems Interconnection protocols</p>
          <dt id="PF_KCM">PF_KCM
          <dd><p>KCM (kernel connection multiplexor) interface</p>
          <dt id="PF_KEY">PF_KEY
          <dd><p>Key management protocol, originally developed for usage with IPsec</p>
          <dt id="PF_LAT">PF_LAT
          <dd><p>Local Area Transport protocol</p>
          <dt id="PF_LINK">PF_LINK
          <dd><p>Link layer interface</p>
          <dt id="PF_LLC">PF_LLC
          <dd><p>Logical  link control (IEEE 802.2 LLC) protocol</p>
          <dt id="PF_LOCAL">PF_LOCAL
          <dd><p>Host-internal protocols</p>
          <dt id="PF_MAX">PF_MAX
          <dd><p>Maximum address family for this platform</p>
          <dt id="PF_MPLS">PF_MPLS
          <dd><p>Multiprotocol Label Switching</p>
          <dt id="PF_NATM">PF_NATM
          <dd><p>Native ATM access</p>
          <dt id="PF_NDRV">PF_NDRV
          <dd><p>Network driver raw access</p>
          <dt id="PF_NETBIOS">PF_NETBIOS
          <dd><p>NetBIOS</p>
          <dt id="PF_NETGRAPH">PF_NETGRAPH
          <dd><p>Netgraph sockets</p>
          <dt id="PF_NETLINK">PF_NETLINK
          <dd><p>Kernel user interface device</p>
          <dt id="PF_NS">PF_NS
          <dd><p>XEROX NS protocols</p>
          <dt id="PF_OSI">PF_OSI
          <dd><p>ISO Open Systems Interconnection protocols</p>
          <dt id="PF_PACKET">PF_PACKET
          <dd><p>Direct link-layer access</p>
          <dt id="PF_PIP">PF_PIP
          <dd>
          <dt id="PF_PPP">PF_PPP
          <dd><p>Point-to-Point Protocol</p>
          <dt id="PF_PPPOX">PF_PPPOX
          <dd><p>Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)</p>
          <dt id="PF_PUP">PF_PUP
          <dd><p>PARC Universal Packet protocol</p>
          <dt id="PF_RDS">PF_RDS
          <dd><p>Reliable Datagram Sockets (RDS) protocol</p>
          <dt id="PF_ROUTE">PF_ROUTE
          <dd><p>Internal routing protocol</p>
          <dt id="PF_RTIP">PF_RTIP
          <dd>
          <dt id="PF_SIP">PF_SIP
          <dd><p>Simple Internet Protocol</p>
          <dt id="PF_SNA">PF_SNA
          <dd><p>IBM SNA protocol</p>
          <dt id="PF_SYSTEM">PF_SYSTEM
          <dd>
          <dt id="PF_TIPC">PF_TIPC
          <dd><p>TIPC, “cluster domain sockets” protocol</p>
          <dt id="PF_UNIX">PF_UNIX
          <dd><p>UNIX sockets</p>
          <dt id="PF_UNSPEC">PF_UNSPEC
          <dd><p>Unspecified protocol, any supported address family</p>
          <dt id="PF_VSOCK">PF_VSOCK
          <dd><p>VSOCK (originally “VMWare VSockets”) protocol for hypervisor-guest communication</p>
          <dt id="PF_XDP">PF_XDP
          <dd><p>XDP (express data path) interface</p>
          <dt id="PF_XTP">PF_XTP
          <dd><p>eXpress Transfer Protocol</p>
          <dt id="SCM_BINTIME">SCM_BINTIME
          <dd><p>Timestamp (bintime)</p>
          <dt id="SCM_CREDENTIALS">SCM_CREDENTIALS
          <dd><p>The sender’s credentials</p>
          <dt id="SCM_CREDS">SCM_CREDS
          <dd><p>Process credentials</p>
          <dt id="SCM_RIGHTS">SCM_RIGHTS
          <dd><p>Access rights</p>
          <dt id="SCM_TIMESTAMP">SCM_TIMESTAMP
          <dd><p>Timestamp (timeval)</p>
          <dt id="SCM_TIMESTAMPING">SCM_TIMESTAMPING
          <dd><p>Timestamp (timespec list) (Linux 2.6.30)</p>
          <dt id="SCM_TIMESTAMPNS">SCM_TIMESTAMPNS
          <dd><p>Timespec (timespec)</p>
          <dt id="SCM_UCRED">SCM_UCRED
          <dd><p>User credentials</p>
          <dt id="SCM_WIFI_STATUS">SCM_WIFI_STATUS
          <dd><p>Wifi status (Linux 3.3)</p>
          <dt id="SHUT_RD">SHUT_RD
          <dd><p>Shut down the reading side of the socket</p>
          <dt id="SHUT_RDWR">SHUT_RDWR
          <dd><p>Shut down the both sides of the socket</p>
          <dt id="SHUT_WR">SHUT_WR
          <dd><p>Shut down the writing side of the socket</p>
          <dt id="SOCK_CLOEXEC">SOCK_CLOEXEC
          <dd><p>Set the close-on-exec (FD_CLOEXEC) flag on the new file  descriptor.</p>
          <dt id="SOCK_DGRAM">SOCK_DGRAM
          <dd><p>A datagram socket provides connectionless, unreliable messaging</p>
          <dt id="SOCK_NONBLOCK">SOCK_NONBLOCK
          <dd><p>Set the O_NONBLOCK file status flag on the open file description (see open(2)) referred to by the new file descriptor.</p>
          <dt id="SOCK_PACKET">SOCK_PACKET
          <dd><p>Device-level packet access</p>
          <dt id="SOCK_RAW">SOCK_RAW
          <dd><p>A raw socket provides low-level access for direct access or implementing network protocols</p>
          <dt id="SOCK_RDM">SOCK_RDM
          <dd><p>A reliable datagram socket provides reliable delivery of messages</p>
          <dt id="SOCK_SEQPACKET">SOCK_SEQPACKET
          <dd><p>A sequential packet socket provides sequenced, reliable two-way connection for datagrams</p>
          <dt id="SOCK_STREAM">SOCK_STREAM
          <dd><p>A stream socket provides a sequenced, reliable two-way connection for a byte stream</p>
          <dt id="SOL_ATALK">SOL_ATALK
          <dd><p>AppleTalk socket options</p>
          <dt id="SOL_AX25">SOL_AX25
          <dd><p>AX.25 socket options</p>
          <dt id="SOL_IP">SOL_IP
          <dd><p>IP socket options</p>
          <dt id="SOL_IPX">SOL_IPX
          <dd><p>IPX socket options</p>
          <dt id="SOL_SOCKET">SOL_SOCKET
          <dd><p>Socket-level options</p>
          <dt id="SOL_TCP">SOL_TCP
          <dd><p>TCP socket options</p>
          <dt id="SOL_UDP">SOL_UDP
          <dd><p>UDP socket options</p>
          <dt id="SOMAXCONN">SOMAXCONN
          <dd><p>Maximum connection requests that may be queued for a socket</p>
          <dt id="SOPRI_BACKGROUND">SOPRI_BACKGROUND
          <dd><p>Background socket priority</p>
          <dt id="SOPRI_INTERACTIVE">SOPRI_INTERACTIVE
          <dd><p>Interactive socket priority</p>
          <dt id="SOPRI_NORMAL">SOPRI_NORMAL
          <dd><p>Normal socket priority</p>
          <dt id="SO_ACCEPTCONN">SO_ACCEPTCONN
          <dd><p><a href="../Socket.html"><code>Socket</code></a> has had listen() called on it</p>
          <dt id="SO_ACCEPTFILTER">SO_ACCEPTFILTER
          <dd><p>There is an accept filter</p>
          <dt id="SO_ALLZONES">SO_ALLZONES
          <dd><p>Bypass zone boundaries</p>
          <dt id="SO_ATTACH_FILTER">SO_ATTACH_FILTER
          <dd><p>Attach an accept filter</p>
          <dt id="SO_BINDTODEVICE">SO_BINDTODEVICE
          <dd><p>Only send packets from the given interface</p>
          <dt id="SO_BINTIME">SO_BINTIME
          <dd><p>Receive timestamp with datagrams (bintime)</p>
          <dt id="SO_BPF_EXTENSIONS">SO_BPF_EXTENSIONS
          <dd><p>Query supported BPF extensions (Linux 3.14)</p>
          <dt id="SO_BROADCAST">SO_BROADCAST
          <dd><p>Permit sending of broadcast messages</p>
          <dt id="SO_BUSY_POLL">SO_BUSY_POLL
          <dd><p>Set the threshold in microseconds for low latency polling (Linux 3.11)</p>
          <dt id="SO_DEBUG">SO_DEBUG
          <dd><p>Debug info recording</p>
          <dt id="SO_DETACH_FILTER">SO_DETACH_FILTER
          <dd><p>Detach an accept filter</p>
          <dt id="SO_DOMAIN">SO_DOMAIN
          <dd><p>Domain given for socket() (Linux 2.6.32)</p>
          <dt id="SO_DONTROUTE">SO_DONTROUTE
          <dd><p>Use interface addresses</p>
          <dt id="SO_DONTTRUNC">SO_DONTTRUNC
          <dd><p>Retain unread data</p>
          <dt id="SO_ERROR">SO_ERROR
          <dd><p>Get and clear the error status</p>
          <dt id="SO_GET_FILTER">SO_GET_FILTER
          <dd><p>Obtain filter set by <a href="Constants.html#SO_ATTACH_FILTER"><code>SO_ATTACH_FILTER</code></a> (Linux 3.8)</p>
          <dt id="SO_INCOMING_CPU">SO_INCOMING_CPU
          <dd><p>Receive the cpu attached to the socket (Linux 3.19)</p>
          <dt id="SO_INCOMING_NAPI_ID">SO_INCOMING_NAPI_ID
          <dd><p>Receive the napi ID attached to a RX queue (Linux 4.12)</p>
          <dt id="SO_KEEPALIVE">SO_KEEPALIVE
          <dd><p>Keep connections alive</p>
          <dt id="SO_LINGER">SO_LINGER
          <dd><p>Linger on close if data is present</p>
          <dt id="SO_LOCK_FILTER">SO_LOCK_FILTER
          <dd><p>Lock the filter attached to a socket (Linux 3.9)</p>
          <dt id="SO_MAC_EXEMPT">SO_MAC_EXEMPT
          <dd><p>Mandatory Access Control exemption for unlabeled peers</p>
          <dt id="SO_MARK">SO_MARK
          <dd><p>Set the mark for mark-based routing (Linux 2.6.25)</p>
          <dt id="SO_MAX_PACING_RATE">SO_MAX_PACING_RATE
          <dd><p>Cap the rate computed by transport layer. [bytes per second] (Linux 3.13)</p>
          <dt id="SO_NKE">SO_NKE
          <dd><p>Install socket-level Network Kernel Extension</p>
          <dt id="SO_NOFCS">SO_NOFCS
          <dd><p>Set netns of a socket (Linux 3.4)</p>
          <dt id="SO_NOSIGPIPE">SO_NOSIGPIPE
          <dd><p>Don’t SIGPIPE on EPIPE</p>
          <dt id="SO_NO_CHECK">SO_NO_CHECK
          <dd><p>Disable checksums</p>
          <dt id="SO_NREAD">SO_NREAD
          <dd><p>Get first packet byte count</p>
          <dt id="SO_OOBINLINE">SO_OOBINLINE
          <dd><p>Leave received out-of-band data in-line</p>
          <dt id="SO_PASSCRED">SO_PASSCRED
          <dd><p>Receive <a href="Constants.html#SCM_CREDENTIALS"><code>SCM_CREDENTIALS</code></a> messages</p>
          <dt id="SO_PASSSEC">SO_PASSSEC
          <dd><p>Toggle security context passing (Linux 2.6.18)</p>
          <dt id="SO_PEEK_OFF">SO_PEEK_OFF
          <dd><p>Set the peek offset (Linux 3.4)</p>
          <dt id="SO_PEERCRED">SO_PEERCRED
          <dd><p>The credentials of the foreign process connected to this socket</p>
          <dt id="SO_PEERNAME">SO_PEERNAME
          <dd><p>Name of the connecting user</p>
          <dt id="SO_PEERSEC">SO_PEERSEC
          <dd><p>Obtain the security credentials (Linux 2.6.2)</p>
          <dt id="SO_PRIORITY">SO_PRIORITY
          <dd><p>The protocol-defined priority for all packets on this socket</p>
          <dt id="SO_PROTOCOL">SO_PROTOCOL
          <dd><p>Protocol given for socket() (Linux 2.6.32)</p>
          <dt id="SO_RCVBUF">SO_RCVBUF
          <dd><p>Receive buffer size</p>
          <dt id="SO_RCVBUFFORCE">SO_RCVBUFFORCE
          <dd><p>Receive buffer size without rmem_max limit (Linux 2.6.14)</p>
          <dt id="SO_RCVLOWAT">SO_RCVLOWAT
          <dd><p>Receive low-water mark</p>
          <dt id="SO_RCVTIMEO">SO_RCVTIMEO
          <dd><p>Receive timeout</p>
          <dt id="SO_RECVUCRED">SO_RECVUCRED
          <dd><p>Receive user credentials with datagram</p>
          <dt id="SO_REUSEADDR">SO_REUSEADDR
          <dd><p>Allow local address reuse</p>
          <dt id="SO_REUSEPORT">SO_REUSEPORT
          <dd><p>Allow local address and port reuse</p>
          <dt id="SO_RTABLE">SO_RTABLE
          <dd><p>Set the routing table for this socket (OpenBSD)</p>
          <dt id="SO_RXQ_OVFL">SO_RXQ_OVFL
          <dd><p>Toggle cmsg for number of packets dropped (Linux 2.6.33)</p>
          <dt id="SO_SECURITY_AUTHENTICATION">SO_SECURITY_AUTHENTICATION
          <dd>
          <dt id="SO_SECURITY_ENCRYPTION_NETWORK">SO_SECURITY_ENCRYPTION_NETWORK
          <dd>
          <dt id="SO_SECURITY_ENCRYPTION_TRANSPORT">SO_SECURITY_ENCRYPTION_TRANSPORT
          <dd>
          <dt id="SO_SELECT_ERR_QUEUE">SO_SELECT_ERR_QUEUE
          <dd><p>Make select() detect socket error queue with errorfds (Linux 3.10)</p>
          <dt id="SO_SETFIB">SO_SETFIB
          <dd><p>Set the associated routing table for the socket (FreeBSD)</p>
          <dt id="SO_SNDBUF">SO_SNDBUF
          <dd><p>Send buffer size</p>
          <dt id="SO_SNDBUFFORCE">SO_SNDBUFFORCE
          <dd><p>Send buffer size without wmem_max limit (Linux 2.6.14)</p>
          <dt id="SO_SNDLOWAT">SO_SNDLOWAT
          <dd><p>Send low-water mark</p>
          <dt id="SO_SNDTIMEO">SO_SNDTIMEO
          <dd><p>Send timeout</p>
          <dt id="SO_TIMESTAMP">SO_TIMESTAMP
          <dd><p>Receive timestamp with datagrams (timeval)</p>
          <dt id="SO_TIMESTAMPING">SO_TIMESTAMPING
          <dd><p>Time stamping of incoming and outgoing packets (Linux 2.6.30)</p>
          <dt id="SO_TIMESTAMPNS">SO_TIMESTAMPNS
          <dd><p>Receive nanosecond timestamp with datagrams (timespec)</p>
          <dt id="SO_TYPE">SO_TYPE
          <dd><p>Get the socket type</p>
          <dt id="SO_USELOOPBACK">SO_USELOOPBACK
          <dd><p>Bypass hardware when possible</p>
          <dt id="SO_USER_COOKIE">SO_USER_COOKIE
          <dd><p>Setting an identifier for ipfw purpose mainly</p>
          <dt id="SO_WANTMORE">SO_WANTMORE
          <dd><p>Give a hint when more data is ready</p>
          <dt id="SO_WANTOOBFLAG">SO_WANTOOBFLAG
          <dd><p>OOB data is wanted in MSG_FLAG on receive</p>
          <dt id="SO_WIFI_STATUS">SO_WIFI_STATUS
          <dd><p>Toggle cmsg for wifi status (Linux 3.3)</p>
          <dt id="TCP_CONGESTION">TCP_CONGESTION
          <dd><p>TCP congestion control algorithm (Linux 2.6.13, glibc 2.6)</p>
          <dt id="TCP_CONNECTION_INFO">TCP_CONNECTION_INFO
          <dd><p>Retrieve information about this socket (macOS)</p>
          <dt id="TCP_COOKIE_TRANSACTIONS">TCP_COOKIE_TRANSACTIONS
          <dd><p>TCP Cookie Transactions (Linux 2.6.33, glibc 2.18)</p>
          <dt id="TCP_CORK">TCP_CORK
          <dd><p>Don’t send partial frames (Linux 2.2, glibc 2.2)</p>
          <dt id="TCP_DEFER_ACCEPT">TCP_DEFER_ACCEPT
          <dd><p>Don’t notify a listening socket until data is ready (Linux 2.4, glibc 2.2)</p>
          <dt id="TCP_FASTOPEN">TCP_FASTOPEN
          <dd><p>Reduce step of the handshake process (Linux 3.7, glibc 2.18)</p>
          <dt id="TCP_INFO">TCP_INFO
          <dd><p>Retrieve information about this socket (Linux 2.4, glibc 2.2)</p>
          <dt id="TCP_KEEPALIVE">TCP_KEEPALIVE
          <dd><p>Idle time before keepalive probes are sent (macOS)</p>
          <dt id="TCP_KEEPCNT">TCP_KEEPCNT
          <dd><p>Maximum number of keepalive probes allowed before dropping a connection (Linux 2.4, glibc 2.2)</p>
          <dt id="TCP_KEEPIDLE">TCP_KEEPIDLE
          <dd><p>Idle time before keepalive probes are sent (Linux 2.4, glibc 2.2)</p>
          <dt id="TCP_KEEPINTVL">TCP_KEEPINTVL
          <dd><p>Time between keepalive probes (Linux 2.4, glibc 2.2)</p>
          <dt id="TCP_LINGER2">TCP_LINGER2
          <dd><p>Lifetime of orphaned FIN_WAIT2 sockets (Linux 2.4, glibc 2.2)</p>
          <dt id="TCP_MAXSEG">TCP_MAXSEG
          <dd><p>Set maximum segment size</p>
          <dt id="TCP_MD5SIG">TCP_MD5SIG
          <dd><p>Use MD5 digests (RFC2385, Linux 2.6.20, glibc 2.7)</p>
          <dt id="TCP_NODELAY">TCP_NODELAY
          <dd><p>Don’t delay sending to coalesce packets</p>
          <dt id="TCP_NOOPT">TCP_NOOPT
          <dd><p>Don’t use TCP options</p>
          <dt id="TCP_NOPUSH">TCP_NOPUSH
          <dd><p>Don’t push the last block of write</p>
          <dt id="TCP_QUEUE_SEQ">TCP_QUEUE_SEQ
          <dd><p>Sequence of a queue for repair mode (Linux 3.5, glibc 2.18)</p>
          <dt id="TCP_QUICKACK">TCP_QUICKACK
          <dd><p>Enable quickack mode (Linux 2.4.4, glibc 2.3)</p>
          <dt id="TCP_REPAIR">TCP_REPAIR
          <dd><p>Repair mode (Linux 3.5, glibc 2.18)</p>
          <dt id="TCP_REPAIR_OPTIONS">TCP_REPAIR_OPTIONS
          <dd><p>Options for repair mode (Linux 3.5, glibc 2.18)</p>
          <dt id="TCP_REPAIR_QUEUE">TCP_REPAIR_QUEUE
          <dd><p>Queue for repair mode (Linux 3.5, glibc 2.18)</p>
          <dt id="TCP_SYNCNT">TCP_SYNCNT
          <dd><p>Number of SYN retransmits before a connection is dropped (Linux 2.4, glibc 2.2)</p>
          <dt id="TCP_THIN_DUPACK">TCP_THIN_DUPACK
          <dd><p>Duplicated acknowledgments handling for thin-streams (Linux 2.6.34, glibc 2.18)</p>
          <dt id="TCP_THIN_LINEAR_TIMEOUTS">TCP_THIN_LINEAR_TIMEOUTS
          <dd><p>Linear timeouts for thin-streams (Linux 2.6.34, glibc 2.18)</p>
          <dt id="TCP_TIMESTAMP">TCP_TIMESTAMP
          <dd><p>TCP timestamp (Linux 3.9, glibc 2.18)</p>
          <dt id="TCP_USER_TIMEOUT">TCP_USER_TIMEOUT
          <dd><p>Max timeout before a TCP connection is aborted (Linux 2.6.37, glibc 2.18)</p>
          <dt id="TCP_WINDOW_CLAMP">TCP_WINDOW_CLAMP
          <dd><p>Clamp the size of the advertised window (Linux 2.4, glibc 2.2)</p>
          <dt id="UDP_CORK">UDP_CORK
          <dd><p>Don’t send partial frames (Linux 2.5.44, glibc 2.11)</p>
        </dl>
        </section>



              </section>
              </main>



            </div>  <!--  class='wrapper hdiv' -->


<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a></p>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.</p>
<p>Based on <a href="https://github.com/ged/darkfish/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.</p>

  
    <p><p><a href="https://ruby-doc.org">Ruby-doc.org</a> is a service of <a href="https://jamesbritt.com">James Britt</a> and <a href="https://neurogami.com">Neurogami</a>, purveyors of fine <a href='https://jamesbritt.bandcamp.com/'>dance noise</a></p>
</p>
  
  </footer>

<script type="text/javascript">


  let ads  = $("#carbonads-container").children().detach();


  function swapMode() {
    var cookieName = 'darkmode';
    var cssDarkmode = Cookies.get(cookieName);
    console.log("***** swapMode! " + cssDarkmode + " *****");


    if (cssDarkmode == "true") {
      console.log("We have dark mode, set the css to light ...");
      $('#rdoccss').attr("href", defaultModeCssHref);
      $('#cssSelect').text("Dark mode");
      cssDarkmode = "false";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    } else {
      console.log("We not have dark mode, set the css to dark ...");
      $('#rdoccss').attr("href", darkModeCsseHref);
      $('#cssSelect').text("Light mode");
      cssDarkmode = "true";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    }

    console.log("  --------------- ");
  }


const vueCssApp = new Vue({
el: '#menubar',
data: {
isDark: false
},
methods: {
toggleClass: function(event){
this.isDark = !this.isDark;
}
}
})

const vueApp = new Vue({
el: '#vapp',
data: { 
isOpen: true
},

mounted() {
this.handleResize();
this.manage_mob_classes();
window.addEventListener('resize', this.handleResize)
//this.isOpen !=  (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},
destroyed() {
window.removeEventListener('resize', this.handleResize)
},
created() {
//manage_mob_classes();
},

methods : {
isMobile() {
  return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},

  handleResize() {
    if (!this.isMobile()) {
      this.isOpen = window.innerWidth > 800;
    }
  },

  manage_mob_classes() {
    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
      $("nav").addClass("mob_nav");
      $("main").addClass("mob_main");
      $("#extraz").addClass("mob_extraz");
      $("#carbonads-container").addClass("mob_carbonads-container");
      this.isOpen  = false;
    } else {
      $("nav").removeClass("mob_nav") 
        $("main").removeClass("mob_main");
      $("#extraz").removeClass("mob_extraz");
      $("#carbonads-container").removeClass("mob_carbonads-container");
      this.isOpen  = true;
    }
  },

  toggleNav() {
    this.isOpen =! this.isOpen ;
    // alert("Toggle nav!");
    console.log("toggleNav() click: " + this.isOpen );
  }
}
})

$("#carbonads-container").append(ads);


$(function() {

    var darkmode = Cookies.get("darkmode");
    console.log("Document ready: " + darkmode);

    if ( darkmode  == "true" ) {
      $('#cssSelect').text("Light mode");
    } else {
      $('#cssSelect').text("Dark mode");
     }

    $('body').css('display','block');
    });

</script>

    
  </body> 
</html>

